#include <iostream>
using namespace std;
#include <stdio.h>
class A
{
public:
    virtual void fa1()
    {
        cout << "v-fa1" << endl;
    }
    virtual void fa2()
    {
        int a;
        cout << "v-fa2" << endl;
    }
};
class B
{
public:
    virtual void fb1()
    {
        cout << "v-fb1" << endl;
    }
    virtual void fb2()
    {
        cout << "v-fb2" << endl;
    }
    virtual void fb3()
    {
        cout << "v-fb2" << endl;
    }
};
class C :public A, public B
{
public:
    virtual void fc1()
    {
        cout << "v-fc1" << endl;
    }
    //virtual void fc2()
    //{
    //    cout << "v-fc2" << endl;
    //}
};
int main()
{
    typedef void (*f_f)(void);
    A a;
    B b;
    C c;
    cout << "sizeof(c):" << sizeof(c) << endl;
    cout << "sizeof(a):" << sizeof(a) << endl;
    cout << "sizeof(b):" << sizeof(b) << endl;
    //printf("----\n");
    //A *pa=&c;
    //unsigned long long add1=*(unsigned long long *)pa;
    //int count;
    //for(int add1=0;add1!=0;add1+=8)
    //{
    //    count+=1;
    //}
    //printf("%d",count);
    //printf("----\n");
    //f_f fb2=(f_f)add1;
    //fb2();
}